﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IoTEdge.Grpc.Server.Libs.entities
{
    public class Defination
    {
        /// <summary>
        /// 
        /// </summary>
        public string DeviceName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string DeviceID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string ProductID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> Properties { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> Events { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public List<string> Commands { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string CollectInterval { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string Timeout { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public bool ReportOnChange { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string DeviceExtensionConfig { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public bool StopCollecting { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int Qos { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string GroupID { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string DeviceCatagory { get; set; }
    }

    public class DeviceMetas_
    {
        /// <summary>
        /// 
        /// </summary>
        public Defination Defination { get; set; }
    }

    public class Root
    {
        /// <summary>
        /// 
        /// </summary>
        public List<DeviceMetas_> DeviceMetas_ { get; set; }
    }

}
